
using namespace std;

class Base {
    public:
        static void statmem() {}
};

class Derived : public Base {
    void f(const Derived &derived_obj) {
        Base::statmem();            // 正确：Base 定义了 statmem
        Derived::statmem();         // 正确：Derived 继承了 statmem
        // 正确：派生类的对象能访问基类的静态成员
        derived_obj.statmem();      // 通过 Derived 对象访问
        statmem();                  // 通过 this 对象访问
    }
};

class NoDerived final { /* */ };    // NoDerived 不能作为基类
// Last 是 final 的；我们不能继承 Last
class Last final : Base { /* */ };  // Last 不能作为基类
// class Bad : NoDerived { /* */ };    // 错误：NoDerived 是 final 的
// class Bad2 : Last { /* */ };        // 错误：Last 是 final 的